The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
A vehicle includes various control modules including, but not limited to, an engine control module, a transmission control module, and a body control module. The control modules execute software to perform various respective functions. A programming tool is connected to vehicle systems to transfer software from the tool to the control modules. To upload new software from the tool to the control modules, the tool transfers the new software to the control module via a communications bus and a bootloader in the control module erases and writes the software/calibration data to permanent memory (e.g., flash).
The automobile industry is continually adding software features or making changes to current software code that must be uploaded to the control modules. With each additional software feature added, the software file becomes larger and takes longer to flash into the control modules. A large portion of the time (e.g., approximately 80%) that is spent flashing a vehicle includes transferring data files across a vehicle communication bus to the control modules. The remaining time (e.g., approximately 20%) is spent verifying the content of the new data, erasing the old data, and programming the new data into the control module's permanent memory.